/**
    Copyright (C) 2011  Alexander Vollmer

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package org.jefb.web.model;

import java.io.Serializable;
import java.util.List;

import org.jefb.entity.RoleEntity;
import org.jefb.sec.entity.UserRight;
import org.jefb.service.IRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 * @author alexej
 * 
 */
@Component("roleModel")
@Scope("session")
public class RoleModel extends EntityModel<RoleEntity> implements Serializable {

	private static final long serialVersionUID = 1L;

	@Autowired
	private IRoleService roleService;

	public List<UserRight> getAssignedPermissions() {
		if (getSelectedEntity() != null) {
			return getSelectedEntity().getRights();
		} else if (getNewEntity()!=null){
			return getNewEntity().getRights();
		}else{
			return null;
		}
	}

	public List<UserRight> getUnassignedPermissions() {
		if (getSelectedEntity() != null) {
			return roleService.getUnassignedPermissions(getSelectedEntity());
		} else if(getNewEntity()!=null){
			return roleService.getUnassignedPermissions(getNewEntity());
		}else{
			return null;
		}
	}

}
